<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Forward Declarations</title>
<link rel="stylesheet" href="../../multiprecision.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../index.html" title="Chapter 1. Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="misc/visualizers.html" title="Visual C++ Debugger Visualizers">
<link rel="next" href="conversions.html" title="Constructing and Interconverting Between Number Types">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="misc/visualizers.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conversions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_multiprecision.tut.fwd"></a><a class="link" href="fwd.html" title="Forward Declarations">Forward Declarations</a>
</h3></div></div></div>
<p>
        The header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multiprecision</span><span class="special">/</span><span class="identifier">fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
        contains forward declarations for class <code class="computeroutput"><span class="identifier">number</span></code>
        plus all of the available backends in the this library:
      </p>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">namespace</span> <span class="identifier">multiprecision</span> <span class="special">{</span>

   <span class="keyword">enum</span> <span class="identifier">expression_template_option</span>
   <span class="special">{</span>
      <span class="identifier">et_off</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
      <span class="identifier">et_on</span> <span class="special">=</span> <span class="number">1</span>
   <span class="special">};</span>

   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">&gt;</span>
   <span class="keyword">struct</span> <span class="identifier">expression_template_default</span> <span class="special">{</span> <span class="comment">/*details*/</span> <span class="special">};</span>

   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">,</span> <span class="identifier">expression_template_option</span> <span class="identifier">ExpressionTemplates</span> <span class="special">=</span> <span class="identifier">expression_template_default</span><span class="special">&lt;</span><span class="identifier">Backend</span><span class="special">&gt;::</span><span class="identifier">value</span><span class="special">&gt;</span>
   <span class="keyword">class</span> <span class="identifier">number</span><span class="special">;</span>

   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
   <span class="keyword">struct</span> <span class="identifier">is_number</span><span class="special">;</span>

   <span class="keyword">enum</span> <span class="identifier">cpp_integer_type</span>
   <span class="special">{</span>
      <span class="identifier">signed_magnitude</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span>
      <span class="identifier">unsigned_magnitude</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span>
      <span class="identifier">signed_packed</span> <span class="special">=</span> <span class="number">3</span><span class="special">,</span>
      <span class="identifier">unsigned_packed</span> <span class="special">=</span> <span class="number">2</span>
   <span class="special">};</span>

   <span class="keyword">enum</span> <span class="identifier">cpp_int_check_type</span>
   <span class="special">{</span>
      <span class="identifier">checked</span> <span class="special">=</span> <span class="number">1</span><span class="special">,</span>
      <span class="identifier">unchecked</span> <span class="special">=</span> <span class="number">0</span>
   <span class="special">};</span>

   <span class="keyword">enum</span> <span class="identifier">mpfr_allocation_type</span>
   <span class="special">{</span>
      <span class="identifier">allocate_stack</span><span class="special">,</span>
      <span class="identifier">allocate_dynamic</span>
   <span class="special">};</span>
   <span class="comment">//</span>
   <span class="comment">// Logging functions for lagged_adaptor:</span>
   <span class="comment">//</span>
   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">&gt;</span>
   <span class="keyword">void</span> <span class="identifier">log_postfix_event</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Backend</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="comment">/*event_description*/</span><span class="special">);</span>
   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
   <span class="keyword">void</span> <span class="identifier">log_postfix_event</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Backend</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="comment">/*event_description*/</span><span class="special">);</span>
   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">&gt;</span>
   <span class="keyword">void</span> <span class="identifier">log_prefix_event</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Backend</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="comment">/*event_description*/</span><span class="special">);</span>
   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
   <span class="keyword">void</span> <span class="identifier">log_prefix_event</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Backend</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="comment">/*event_description*/</span><span class="special">);</span>
   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
   <span class="keyword">void</span> <span class="identifier">log_prefix_event</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Backend</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="comment">/*event_description*/</span><span class="special">);</span>
   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">V</span><span class="special">&gt;</span>
   <span class="keyword">void</span> <span class="identifier">log_prefix_event</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Backend</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="identifier">V</span><span class="special">&amp;,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="comment">/*event_description*/</span><span class="special">);</span>

   <span class="keyword">namespace</span> <span class="identifier">backends</span> <span class="special">{</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">debug_adaptor</span><span class="special">;</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">logged_adaptor</span><span class="special">;</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">complex_adaptor</span><span class="special">;</span>

      <span class="keyword">enum</span> <span class="identifier">digit_base_type</span>
      <span class="special">{</span>
         <span class="identifier">digit_base_2</span> <span class="special">=</span> <span class="number">2</span><span class="special">,</span>
         <span class="identifier">digit_base_10</span> <span class="special">=</span> <span class="number">10</span>
      <span class="special">};</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="identifier">Digits</span><span class="special">,</span> <span class="identifier">digit_base_type</span> <span class="identifier">DigitBase</span> <span class="special">=</span> <span class="identifier">digit_base_10</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Exponent</span> <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">Exponent</span> <span class="identifier">MinExponent</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">Exponent</span> <span class="identifier">MaxExponent</span> <span class="special">=</span> <span class="number">0</span><span class="special">&gt;</span>
      <span class="keyword">class</span> <span class="identifier">cpp_bin_float</span><span class="special">;</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="identifier">Digits10</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ExponentType</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int32_t</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">&gt;</span>
      <span class="keyword">class</span> <span class="identifier">cpp_dec_float</span><span class="special">;</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">MinBits</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">MaxBits</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">cpp_integer_type</span> <span class="identifier">SignType</span> <span class="special">=</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">cpp_int_check_type</span> <span class="identifier">Checked</span> <span class="special">=</span> <span class="identifier">unchecked</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">conditional</span><span class="special">&lt;</span><span class="identifier">MinBits</span> <span class="special">&amp;&amp;</span> <span class="special">(</span><span class="identifier">MinBits</span> <span class="special">==</span> <span class="identifier">MaxBits</span><span class="special">),</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special">&lt;</span><span class="identifier">limb_type</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">cpp_int_backend</span><span class="special">;</span>

      <span class="keyword">struct</span> <span class="identifier">float128_backend</span><span class="special">;</span>

      <span class="keyword">struct</span> <span class="identifier">gmp_int</span><span class="special">;</span>
      <span class="keyword">struct</span> <span class="identifier">gmp_rational</span><span class="special">;</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="identifier">digits10</span><span class="special">&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">gmp_float</span><span class="special">;</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="identifier">digits10</span><span class="special">&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">mpc_complex_backend</span><span class="special">;</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="identifier">digits10</span><span class="special">&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">mpfi_float_backend</span><span class="special">;</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="identifier">digits10</span><span class="special">,</span> <span class="identifier">mpfr_allocation_type</span> <span class="identifier">AllocationType</span> <span class="special">=</span> <span class="identifier">allocate_dynamic</span><span class="special">&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">mpfr_float_backend</span><span class="special">;</span>

      <span class="keyword">template</span> <span class="special">&lt;&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">mpfr_float_backend</span><span class="special">&lt;</span><span class="number">0</span><span class="special">,</span> <span class="identifier">allocate_stack</span><span class="special">&gt;;</span>

      <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Backend</span><span class="special">&gt;</span>
      <span class="keyword">struct</span> <span class="identifier">rational_adaptor</span><span class="special">;</span>

      <span class="keyword">struct</span> <span class="identifier">tommath_int</span><span class="special">;</span>
   <span class="special">}</span>
   <span class="comment">//</span>
   <span class="comment">// All the backends are imported into boost::multiprecision:</span>
   <span class="comment">//</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">complex_adaptor</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">debug_adaptor</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">logged_adaptor</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_bin_float</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_10</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_dec_float</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_int_backend</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">float128_backend</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">gmp_float</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">gmp_int</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">gmp_rational</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">mpc_complex_backend</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">mpfi_float_backend</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">mpfr_float_backend</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">rational_adaptor</span><span class="special">;</span>
   <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">tommath_int</span><span class="special">;</span>

   <span class="comment">//</span>
   <span class="comment">// convenience typedefs:</span>
   <span class="comment">//</span>

   <span class="keyword">using</span> <span class="identifier">cpp_bin_float_50</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_bin_float</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_bin_float_100</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_bin_float</span><span class="special">&lt;</span><span class="number">100</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">cpp_bin_float_single</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_bin_float</span><span class="special">&lt;</span><span class="number">24</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int16_t</span><span class="special">,</span> <span class="special">-</span><span class="number">126</span><span class="special">,</span> <span class="number">127</span><span class="special">&gt;,</span> <span class="identifier">et_off</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_bin_float_double</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_bin_float</span><span class="special">&lt;</span><span class="number">53</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int16_t</span><span class="special">,</span> <span class="special">-</span><span class="number">1022</span><span class="special">,</span> <span class="number">1023</span><span class="special">&gt;,</span> <span class="identifier">et_off</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_bin_float_double_extended</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_bin_float</span><span class="special">&lt;</span><span class="number">64</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int16_t</span><span class="special">,</span> <span class="special">-</span><span class="number">16382</span><span class="special">,</span> <span class="number">16383</span><span class="special">&gt;,</span> <span class="identifier">et_off</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_bin_float_quad</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_bin_float</span><span class="special">&lt;</span><span class="number">113</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int16_t</span><span class="special">,</span> <span class="special">-</span><span class="number">16382</span><span class="special">,</span> <span class="number">16383</span><span class="special">&gt;,</span> <span class="identifier">et_off</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_bin_float_oct</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">backends</span><span class="special">::</span><span class="identifier">cpp_bin_float</span><span class="special">&lt;</span><span class="number">237</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int32_t</span><span class="special">,</span> <span class="special">-</span><span class="number">262142</span><span class="special">,</span> <span class="number">262143</span><span class="special">&gt;,</span> <span class="identifier">et_off</span><span class="special">&gt;;</span>

   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="identifier">Digits</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_type</span> <span class="identifier">DigitBase</span> <span class="special">=</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_10</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Exponent</span> <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">Exponent</span> <span class="identifier">MinExponent</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">Exponent</span> <span class="identifier">MaxExponent</span> <span class="special">=</span> <span class="number">0</span><span class="special">&gt;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_complex_backend</span> <span class="special">=</span> <span class="identifier">complex_adaptor</span><span class="special">&lt;</span><span class="identifier">cpp_bin_float</span><span class="special">&lt;</span><span class="identifier">Digits</span><span class="special">,</span> <span class="identifier">DigitBase</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">,</span> <span class="identifier">Exponent</span><span class="special">,</span> <span class="identifier">MinExponent</span><span class="special">,</span> <span class="identifier">MaxExponent</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">unsigned</span> <span class="identifier">Digits</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_type</span> <span class="identifier">DigitBase</span> <span class="special">=</span> <span class="identifier">digit_base_10</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Allocator</span> <span class="special">=</span> <span class="keyword">void</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Exponent</span> <span class="special">=</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">Exponent</span> <span class="identifier">MinExponent</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">Exponent</span> <span class="identifier">MaxExponent</span> <span class="special">=</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">expression_template_option</span> <span class="identifier">ExpressionTemplates</span> <span class="special">=</span> <span class="identifier">et_off</span><span class="special">&gt;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_complex</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">complex_adaptor</span><span class="special">&lt;</span><span class="identifier">cpp_bin_float</span><span class="special">&lt;</span><span class="identifier">Digits</span><span class="special">,</span> <span class="identifier">DigitBase</span><span class="special">,</span> <span class="identifier">Allocator</span><span class="special">,</span> <span class="identifier">Exponent</span><span class="special">,</span> <span class="identifier">MinExponent</span><span class="special">,</span> <span class="identifier">MaxExponent</span><span class="special">&gt;</span> <span class="special">&gt;,</span> <span class="identifier">ExpressionTemplates</span><span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">cpp_complex_50</span> <span class="special">=</span> <span class="identifier">cpp_complex</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_complex_100</span> <span class="special">=</span> <span class="identifier">cpp_complex</span><span class="special">&lt;</span><span class="number">100</span><span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">cpp_complex_single</span> <span class="special">=</span> <span class="identifier">cpp_complex</span><span class="special">&lt;</span><span class="number">24</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int16_t</span><span class="special">,</span> <span class="special">-</span><span class="number">126</span><span class="special">,</span> <span class="number">127</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_complex_double</span> <span class="special">=</span> <span class="identifier">cpp_complex</span><span class="special">&lt;</span><span class="number">53</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int16_t</span><span class="special">,</span> <span class="special">-</span><span class="number">1022</span><span class="special">,</span> <span class="number">1023</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_complex_extended</span> <span class="special">=</span> <span class="identifier">cpp_complex</span><span class="special">&lt;</span><span class="number">64</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int16_t</span><span class="special">,</span> <span class="special">-</span><span class="number">16382</span><span class="special">,</span> <span class="number">16383</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_complex_quad</span> <span class="special">=</span> <span class="identifier">cpp_complex</span><span class="special">&lt;</span><span class="number">113</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int16_t</span><span class="special">,</span> <span class="special">-</span><span class="number">16382</span><span class="special">,</span> <span class="number">16383</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_complex_oct</span> <span class="special">=</span> <span class="identifier">cpp_complex</span><span class="special">&lt;</span><span class="number">237</span><span class="special">,</span> <span class="identifier">backends</span><span class="special">::</span><span class="identifier">digit_base_2</span><span class="special">,</span> <span class="keyword">void</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">int32_t</span><span class="special">,</span> <span class="special">-</span><span class="number">262142</span><span class="special">,</span> <span class="number">262143</span><span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">cpp_dec_float_50</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_dec_float_100</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_dec_float</span><span class="special">&lt;</span><span class="number">100</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">cpp_int</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_rational_backend</span> <span class="special">=</span> <span class="identifier">rational_adaptor</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">cpp_rational</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_rational_backend</span><span class="special">&gt;;</span>

   <span class="comment">// Fixed precision unsigned types:</span>
   <span class="keyword">using</span> <span class="identifier">uint128_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">128</span><span class="special">,</span> <span class="number">128</span><span class="special">,</span> <span class="identifier">unsigned_magnitude</span><span class="special">,</span> <span class="identifier">unchecked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">uint256_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">256</span><span class="special">,</span> <span class="number">256</span><span class="special">,</span> <span class="identifier">unsigned_magnitude</span><span class="special">,</span> <span class="identifier">unchecked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">uint512_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">512</span><span class="special">,</span> <span class="number">512</span><span class="special">,</span> <span class="identifier">unsigned_magnitude</span><span class="special">,</span> <span class="identifier">unchecked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">uint1024_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">1024</span><span class="special">,</span> <span class="number">1024</span><span class="special">,</span> <span class="identifier">unsigned_magnitude</span><span class="special">,</span> <span class="identifier">unchecked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="comment">// Fixed precision signed types:</span>
   <span class="keyword">using</span> <span class="identifier">int128_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">128</span><span class="special">,</span> <span class="number">128</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">unchecked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">int256_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">256</span><span class="special">,</span> <span class="number">256</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">unchecked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">int512_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">512</span><span class="special">,</span> <span class="number">512</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">unchecked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">int1024_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">1024</span><span class="special">,</span> <span class="number">1024</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">unchecked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="comment">// Over again, but with checking enabled this time:</span>
   <span class="keyword">using</span> <span class="identifier">checked_cpp_int</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">checked_cpp_rational_backend</span> <span class="special">=</span> <span class="identifier">rational_adaptor</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">checked_cpp_rational</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">checked_cpp_rational_backend</span><span class="special">&gt;;</span>
   <span class="comment">// Fixed precision unsigned types:</span>
   <span class="keyword">using</span> <span class="identifier">checked_uint128_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">128</span><span class="special">,</span> <span class="number">128</span><span class="special">,</span> <span class="identifier">unsigned_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">checked_uint256_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">256</span><span class="special">,</span> <span class="number">256</span><span class="special">,</span> <span class="identifier">unsigned_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">checked_uint512_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">512</span><span class="special">,</span> <span class="number">512</span><span class="special">,</span> <span class="identifier">unsigned_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">checked_uint1024_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">1024</span><span class="special">,</span> <span class="number">1024</span><span class="special">,</span> <span class="identifier">unsigned_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="comment">// Fixed precision signed types:</span>
   <span class="keyword">using</span> <span class="identifier">checked_int128_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">128</span><span class="special">,</span> <span class="number">128</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">checked_int256_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">256</span><span class="special">,</span> <span class="number">256</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">checked_int512_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">512</span><span class="special">,</span> <span class="number">512</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">checked_int1024_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">cpp_int_backend</span><span class="special">&lt;</span><span class="number">1024</span><span class="special">,</span> <span class="number">1024</span><span class="special">,</span> <span class="identifier">signed_magnitude</span><span class="special">,</span> <span class="identifier">checked</span><span class="special">,</span> <span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Number</span><span class="special">&gt;</span>
   <span class="keyword">using</span> <span class="identifier">debug_adaptor_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">debug_adaptor</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Number</span><span class="special">::</span><span class="identifier">backend_type</span><span class="special">&gt;,</span> <span class="identifier">Number</span><span class="special">::</span><span class="identifier">et</span><span class="special">&gt;;</span>
   <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Number</span><span class="special">&gt;</span>
   <span class="keyword">using</span> <span class="identifier">logged_adaptor_t</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">logged_adaptor</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Number</span><span class="special">::</span><span class="identifier">backend_type</span><span class="special">&gt;,</span> <span class="identifier">Number</span><span class="special">::</span><span class="identifier">et</span><span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">float128</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">float128_backend</span><span class="special">,</span> <span class="identifier">et_off</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">complex128</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">complex_adaptor</span><span class="special">&lt;</span><span class="identifier">float128_backend</span><span class="special">&gt;,</span> <span class="identifier">et_off</span><span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">mpf_float_50</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">gmp_float</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpf_float_100</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">gmp_float</span><span class="special">&lt;</span><span class="number">100</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpf_float_500</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">gmp_float</span><span class="special">&lt;</span><span class="number">500</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpf_float_1000</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">gmp_float</span><span class="special">&lt;</span><span class="number">1000</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpf_float</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">gmp_float</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpz_int</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">gmp_int</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpq_rational</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">gmp_rational</span><span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">mpc_complex_50</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpc_complex_backend</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpc_complex_100</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpc_complex_backend</span><span class="special">&lt;</span><span class="number">100</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpc_complex_500</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpc_complex_backend</span><span class="special">&lt;</span><span class="number">500</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpc_complex_1000</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpc_complex_backend</span><span class="special">&lt;</span><span class="number">1000</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpc_complex</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpc_complex_backend</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">mpfi_float_50</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfi_float_backend</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpfi_float_100</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfi_float_backend</span><span class="special">&lt;</span><span class="number">100</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpfi_float_500</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfi_float_backend</span><span class="special">&lt;</span><span class="number">500</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpfi_float_1000</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfi_float_backend</span><span class="special">&lt;</span><span class="number">1000</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpfi_float</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfi_float_backend</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">mpfr_float_50</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfr_float_backend</span><span class="special">&lt;</span><span class="number">50</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpfr_float_100</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfr_float_backend</span><span class="special">&lt;</span><span class="number">100</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpfr_float_500</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfr_float_backend</span><span class="special">&lt;</span><span class="number">500</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpfr_float_1000</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfr_float_backend</span><span class="special">&lt;</span><span class="number">1000</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">mpfr_float</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfr_float_backend</span><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">static_mpfr_float_50</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfr_float_backend</span><span class="special">&lt;</span><span class="number">50</span><span class="special">,</span> <span class="identifier">allocate_stack</span><span class="special">&gt;</span> <span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">static_mpfr_float_100</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">mpfr_float_backend</span><span class="special">&lt;</span><span class="number">100</span><span class="special">,</span> <span class="identifier">allocate_stack</span><span class="special">&gt;</span> <span class="special">&gt;;</span>

   <span class="keyword">using</span> <span class="identifier">tom_int</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">tommath_int</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">tommath_rational</span> <span class="special">=</span> <span class="identifier">rational_adaptor</span><span class="special">&lt;</span><span class="identifier">tommath_int</span><span class="special">&gt;;</span>
   <span class="keyword">using</span> <span class="identifier">tom_rational</span> <span class="special">=</span> <span class="identifier">number</span><span class="special">&lt;</span><span class="identifier">tommath_rational</span><span class="special">&gt;;</span>

 <span class="special">}</span> <span class="special">}</span>
</pre>
</div>
<div class="copyright-footer">Copyright © 2002-2020 John
      Maddock and Christopher Kormanyos<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="misc/visualizers.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../tut.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="conversions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
